package cn.sumpu.app.guoguojie.dao;

import java.util.List;
import java.util.Map;
import cn.sumpu.app.guoguojie.domain.*;
import cn.sumpu.app.guoguojie.exception.AppBusinessException;

public interface DoingTagDao {
	
	//添加标签信息
	void addDoingTag(DoingTag doingTag)throws AppBusinessException;
	//删除标签信息
	void deleteDoingTagById(String tagId)throws AppBusinessException;
	//删除标签(包括子类)
	void deleteDoingTagAll(Map<String, Object> map)throws AppBusinessException;
	//更新标签信息
	void updateDoingTagById(DoingTag doingTag)throws AppBusinessException;
	//取得标签列表
	List<DoingTag> getDoingTagList(Map<String, Object> map)throws AppBusinessException;
	//取得所有标签
	List<DoingTag> getDoingTagAll(Map<String, Object> map)throws AppBusinessException;
	//取得前台标签
	List<DoingTag> getDoingTagShow(Map<String, Object> map)throws AppBusinessException;
	//取得所有标签名称
	List<DoingTag> getDoingTagName()throws AppBusinessException;
	//根据ID取得标签及所有上级标签
	DoingTag getDoingTagSelfAndParent(String identifier)throws AppBusinessException;
	//添加微博关联的标签
	void addDoingSystemTag(DoingSystemTag doingSystemTag)throws AppBusinessException;
	/**
	 * author BruceZhang
	 * @param map	分页条件
	 * @return	查询微博订正标签
	 * @throws AppBusinessException
	 */
	List<Doing> getDoing(Map<String, Object> map)throws AppBusinessException;
	/**
	 * author BruceZhang
	 * @return	微博表中的总记录条数
	 * @throws AppBusinessException
	 */
	int getDoingCount()throws AppBusinessException;
	
	/**
	 * author BruceZhang
	 * @param map	标签ID/时间
	 * @return	根据标签取得当天分享的微博
	 * @throws AppBusinessException
	 */
	List<Doing> getTodayDoingByTagId(Map<String, Object> map)throws AppBusinessException;
	
	/**
	 * author BruceZhang
	 * @param map	标签ID/时间
	 * @return	根据标签取得当天分享的微博总记录数
	 * @throws AppBusinessException
	 */
	int getTodayDoingCountByTagId(Map<String, Object> map)throws AppBusinessException;
	
	//订正标签ID
	List<DoingTag> getDts(Map<String, Object> map)throws AppBusinessException;
	int getDtCount()throws AppBusinessException;
	void updateDtId(Map<String, Object> map)throws AppBusinessException;
	void updateDtPid(Map<String, Object> map)throws AppBusinessException;
	//查询所有商品
	List<DoingProduct> getProductAll(Map<String,Object> map) throws AppBusinessException;
	
}
